package org.domain.sigepac.Entity;

import java.util.Set;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.FetchType;
import javax.persistence.OneToMany;
import javax.persistence.SecondaryTable;

import org.hibernate.validator.Length;
import org.hibernate.validator.NotNull;

@Entity
@SecondaryTable(name="tb_alfabetizador")
public class Alfabetizador extends Pessoa {


	private static final long serialVersionUID = 2471175520461816287L;


	@Enumerated(EnumType.STRING)
	@Column(table="tb_alfabetizador",name="situacao_ocupacional",nullable=false,length=50)
	@NotNull
	private SituacaoOcupacional situacaoOcupacional;

	@Enumerated(EnumType.ORDINAL)
	@Column(table="tb_alfabetizador",name="escolaridade",nullable=false)
	@NotNull
	private Escolaridade escolaridade;

	@Column(table="tb_alfabetizador",name="conta_corrente",nullable=true, length=10)
	@Length(max=10)
	@NotNull
	private String contaCorrente;

	@Column(table="tb_alfabetizador",name="agencia",nullable=true, length=10)
	@Length(max=10)
	@NotNull
	private String agencia;

	@Column(table="tb_alfabetizador",name="banco",nullable=true, length=50)
	@Length(max=50)
	@NotNull
	private String banco;

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "alfabetizador")
	private Set<Turma> turmas;

	public SituacaoOcupacional getSituacaoOcupacional() {
		return situacaoOcupacional;
	}
	public void setSituacaoOcupacional(SituacaoOcupacional situacaoOcupacional) {
		this.situacaoOcupacional = situacaoOcupacional;
	}
	public Escolaridade getEscolaridade() {
		return escolaridade;
	}
	public void setEscolaridade(Escolaridade escolaridade) {
		this.escolaridade = escolaridade;
	}
	public String getContaCorrente() {
		return contaCorrente;
	}
	public void setContaCorrente(String contaCorrente) {
		this.contaCorrente = contaCorrente;
	}
	public String getAgencia() {
		return agencia;
	}
	public void setAgencia(String agencia) {
		this.agencia = agencia;
	}
	public String getBanco() {
		return banco;
	}
	public void setBanco(String banco) {
		this.banco = banco;
	}

    public Set<Turma> getTurmas() {
		return turmas;
	}
    public void setTurmas(Set<Turma> turmas) {
		this.turmas = turmas;
	}
}
